<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>show or hidden</title>
  <style>
    .box>div {
      width: 100px;
      height: 100px;
      border: 1px solid #b0b0b0;
    }

    .dis-none {
      display: none;
    }

    .vis-hidden {
      visibility: hidden;
    }

    .over {
      overflow: hidden;
      width: 200px;
      height: 200px;
      border: 3px solid pink;
    }
  </style>
</head>

<body>
  <h3>一. display 显示/隐藏 (重点! 搭配JS)</h3>
  <p>
    <code>
      display: none; 隐藏元素, 不再占有原位置 (使用较多)<br>
      display: block; 显示元素
    </code>
  </p>
  <div class="box">
    <div class="dis-none">隐藏元素</div>
    <div>显示元素</div>
  </div>
  <h3>二. visibility 可见性</h3>
  <p>
    <code>
      visibility: hidden; 隐藏元素, 继续占有原位置<br>
      visibility: visible; 显示元素
      </code>
  </p>
  <div class="box">
    <div class="vis-hidden">隐藏元素</div>
    <div>显示元素</div>
  </div>
  <h3>三. overflow 溢出显示隐藏 (原本设计是为了文字的环绕效果)</h3>
  <p>
    <code>
        overflow: hidden; 不显示超过元素尺寸的内容 (如果有定位的盒子,慎用!会隐藏 多余的/超出定位的 部分)<br>
        overflow: visible; 不剪切内容也不添加滚动条<br>
        overflow: auto; 在需要时剪切内容并添加滚动条<br>
        overflow: scroll; 总是显示滚动条 
      </code>
  </p>
  <div class="over">
    overflow: hidden; 不显示超过元素尺寸的内容
    overflow: visible; 不剪切内容也不添加滚动条
    overflow: auto; 在需要时剪切内容并添加滚动条
    overflow: scroll; 总是显示滚动条
    overflow: hidden; 不显示超过元素尺寸的内容
    overflow: visible; 不剪切内容也不添加滚动条
    overflow: auto; 在需要时剪切内容并添加滚动条
    overflow: scroll; 总是显示滚动条
  </div>
</body>

</html>